package com.luoc;

import com.luoc.service.Itrerator;
import com.luoc.service.impl.ConcreteAggrate;
import com.luoc.service.impl.ConcreteIterator;

import java.util.ArrayList;
import java.util.List;

/**
 *
 * 迭代器模式(Iterator Pattern)：提供一种方法来访问聚合对象，
 * 而不用暴露这个对象的内部表示，其别名为游标(Cursor)。
 * 迭代器模式是一种对象行为型模式。
 * @author luoc
 */
public class ItreratorPattern {
    public static void main(String[] args) {
        List<Object> list = new ArrayList<>();
        list.add("a");
        list.add("b");
        list.add("c");
        /**
         *  存储数据
         */
        ConcreteAggrate aggrate = new ConcreteAggrate(list);

        /**
         *  遍历数据
         */
        Itrerator iterator = aggrate.getItrerator();

        System.out.println(iterator.next());
    }
}
